package textenmu;

public enum TextEnum {//自己写的枚举类默认都继承于Enum类  Enum类是一个抽象类
    //当我提供了构造方法之后，就不提供不带参数的构造方法了，就需要写成带参数的
    RED(1,"red"),BLACK(2,"black"),GREEN(3,"green");
    private String color;
    private int ordinal;
    TextEnum(int ordinal,String color) {
        //如果写成public会报错，写成private会变成灰色，所以写和不是一样的，默认的就是私有的
        this.color = color;
        this.ordinal = ordinal;
    }
    //枚举的构造方法默认是私有的，没写 就默认提供一个不带参数的，
    public static void main(String[] args) {
        //values是获取枚举类中的枚举对象
        TextEnum[] textEnums = TextEnum.values();//这个方法在枚举中没有
        for (int i = 0; i < textEnums.length; i++) {
            System.out.println(textEnums[i] + "索引："+textEnums[i].ordinal());
        }
        System.out.println("================");
        TextEnum textEnum = TextEnum.valueOf("GREEN");
        System.out.println(textEnum);
        //枚举对象还可以直接比较，比较的是枚举对象数组的下标值
        System.out.println(RED.compareTo(GREEN));
    }
    public static void main1(String[] args) {
        TextEnum color = RED;
        switch (color) {
            case GREEN:
                System.out.println("GReen");
                break;
            case BLACK:
                System.out.println("black");
                break;
            case RED:
                System.out.println("red");
                break;
            default:
                System.out.println("color Error");
        }
    }
}
